The present invention relates to identifying and locating resources on a distributed network, particularly although not exclusively resources in the form of data streams.
It is well known that within a distributed network such as the Internet, resources may be located anywhere there is storage capacity. In addition, resources may be moved between storage locations, replicated or even deleted. Furthermore, where the structure of the network alters over time through growth in particular, then the lack of fixedness of resources within that structure increases the difficulty imposed on processes making use of those resources.
In an effort to facilitate the use of resources, a widely used approach adopted initially on the Internet has been the provision of Uniform Resource Locators (URL), namely character strings intended to identify a location of a resource within a distributed network. Resources addressable using a URL include but are not limited to documents, files, images and the like. However, it is important to note that the URL points merely to the location of the resource, it is not synonymous with a filename and/or directory location at which the resource is instantiated such as a physical data stream, for example. As a result, there exists the common problem of so-called broken links to resources which result in the process requesting the resource receiving an error message indicating that the resource cannot be located.
One proposal to overcome the problem of a URL pointing to non-existent content is that proposed by Online Computer Library Center Inc. (OCLC) in their Persistent Uniform Resource Locator initiative (PURL) details of which may presently be found at. A PURL takes the format http://purl.oclc.org/data/ and comprises three elements. A protocol element, in this example ‘http’, a resolver address, in this example ‘purl.oclc.org’ and finally a name, in this example ‘data’. The resolution of an address is carried out by a dedicated resolver or server located at the resolver address which maps the PURL to a corresponding URL which URL is returned to a requesting process. Thus the PURL is intended to be invariant over time whilst the mapped URL may vary. Clearly, there is a responsibility for the resource owner at which the URL points to update the server records whenever necessary.
Nevertheless, despite the presence of this and other similar initiatives distributed networks remain almost exclusively wedded to URL as the mechanism through which processes utilise resources.